// 相当于 index.js

/* 思路
    1.读取指定路由目录中的所有文件
    2.筛选所有以.js结尾的文件，并且不是index.js文件
    3.遍历第2部找到的所有文件
    4.引入每一个路由定义模块
    5.遍历路由定义对象，通过router注册路由
    6.暴露router出去
*/

const router = require('koa-router')()
const fs = require('fs')

// 1.读取指定路由目录中的所有文件
let files = fs.readdirSync(__dirname)

// 2.筛选所有以.js结尾的文件，并且不是index.js文件
let routesFile = files.filter(item => {
    return item.endsWith('.js') && item !== 'index.js'
})

// 3.遍历所有路由定义文件
routesFile.forEach(item => {
    let tmpfilePath = __dirname + '/' + item
    console.log(item);
    // 4.引入路由定义模块
    const obj = require(tmpfilePath)
 
    // 5.遍历引入的对象中的属性，获得属性及其值，这里的属性我们规定为路由，属性值是对应的处理函数
    for (let fnPath in obj) {
        console.log(fnPath);
        console.log(obj);
        console.log(obj[fnPath]);
        router.get(fnPath, obj[fnPath])
    }
});


// module.exports = router


// login.js 初学的模板
let fn_index = (ctx, next) => {
    ctx.body = '我是首页'
}

let fn_about__name = (ctx, next) => {
    ctx.body = ctx.request.params.id +' 要准备实习了'
}

let fn_ok = (ctx, next) => {
    ctx.body = '我是post' 
}

module.exports={
    '/index':fn_index,
    '/about':fn_about__name,
    '/ok':fn_ok,
}


// 连接数据库中不要的内容

// // 插入数据
// const jane = User.create({firstName:'林同学',lastName:'老林'})

// // 在终端输出数据库中表的内容
// let user = User.findAll()
// user.then(data => {
//     console.log(data);
// })

// `sequelize.define` also returns the model
console.log(User === sequelize.models.User); // true
//   User.sync({ force: true });

